1. Field of the Invention
The present invention generally relates to the field of network switches. More particularly, the present invention relates to a system and method for accepting a portion of a packet in a network switch when not enough resources are available to receive the remainder of the packet at the time of arrival of the portion of the packet.
2. Description of the Related Art
In enterprise computing environments, it is desirable and beneficial to have multiple servers able to directly access multiple storage devices to support high-bandwidth data transfers, system expansion, modularity, configuration flexibility, and optimization of resources. In conventional computing environments, such access is typically provided via file system level Local Area Network (LAN) connections, which operate at a fraction of the speed of direct storage connections. As such, access to storage systems is highly susceptible to bottlenecks.
Storage Area Networks (SANs) have been proposed as one method of solving this storage access bottleneck problem. By applying the networking paradigm to storage devices, SANs enable increased connectivity and bandwidth, sharing of resources, and configuration flexibility. The current SAN paradigm assumes that the entire network is constructed using Fibre Channel switches. Therefore, most solutions involving SANs require implementation of separate networks: one to support the normal LAN and another to support the SAN. The installation of new equipment and technology, such as new equipment at the storage device level (Fibre Channel interfaces), the host/server level (Fibre Channel adapter cards) and the transport level (Fibre Channel hubs, switches and routers), into a mission-critical enterprise computing environment could be described as less than desirable for data center managers, as it involves replication of network infrastructure, new technologies (i.e., Fibre Channel), and new training for personnel. Most companies have already invested significant amounts of money constructing and maintaining their network (e.g., based on Ethernet and/or ATM). Construction of a second high-speed network based on a different technology is a significant impediment to the proliferation of SANs. Therefore, a need exists for a method and apparatus that can alleviate problems with access to storage devices by multiple hosts, while retaining current equipment and network infrastructures, and minimizing the need for additional training for data center personnel.
In general, a majority of storage devices currently use “parallel” SCSI (Small Computer System Interface) or Fibre Channel data transfer protocols whereas most LANs use an Ethernet protocol, such as Gigabit Ethernet. SCSI, Fibre Channel and Ethernet are protocols for data transfer, each of which uses a different individual format for data transfer. For example, SCSI commands were designed to be implemented over a parallel bus architecture and therefore are not packetized. Fibre Channel, like Ethernet, uses a serial interface with data transferred in packets. However, the physical interface and packet formats between Fibre Channel and Ethernet are not compatible. Gigabit Ethernet was designed to be compatible with existing Ethernet infrastructures and is therefore based on an Ethernet packet architecture. Because of these differences there is a need for a new system and method to allow efficient communication between the three protocols.
One such system and method is described in the United States patent application titled “METHOD AND APPARATUS FOR TRANSFERRING DATA BETWEEN IP NETWORK DEVICES AND SCSI AND FIBRE CHANNEL DEVICES OVER AN IP NETWORK” by Latif, et al., filed on Feb. 8, 2000 (Ser. No. 09/500,119). This application is hereby incorporated by reference in its entirety. This application describes a network switch that implements a protocol referred to herein as Storage over Internet Protocol (SoIP).
Flow Control Methods
Fibre Channel and Ethernet protocols (e.g. Gigabit Ethernet) use different methods of flow control to ensure that data frames (e.g. packets) are not lost. Ethernet uses special control frames to implement flow control while Fibre Channel uses a credit-based method.
In full duplex Gigabit Ethernet using flow control, when an input port no longer wishes to receive data, a special control frame known as a pause frame is transmitted on the output port. The pause frame includes the amount of time (pause-time parameter) that the transmitter at the other end of the link should delay before continuing to transmit packets (i.e. the amount of time to “pause”). The link can be re-enabled by sending a pause frame with a time of 0.
Ethernet ports in a network switch may be coupled to partners that do not use flow control, and thus do not generate or respond to pause frames. Thus, network switches may provide Ethernet ports in a network switch that are configurable to not generate or respond to pause frames, and thus to support partners that are not using flow control. In the network switch, there may be limited resources to be shared among incoming packets in the switch. If the limited resources are exhausted, packets may be dropped. Prior art network switches typically only track memory (e.g. cell) usage for packets. These prior art switches typically use a static method of resource allocation that determine the amount of required resources at the time of arrival of a packet and, if there are not enough resources available, reject the entire packet up front. Therefore, it is desirable to provide a method for accepting a portion of a packet in the network switch when not enough resources are available to receive the entire packet at the initial time of arrival of the packet, and to thus increase bandwidth utilization.